FEM MeshGmshFromShape/de

FEM NetzGmshAusForm

Menüeintrag
Netz → FEM-Netz aus Form - Gmsh
Arbeitsbereich
FEM
Standardtastenkürzel
Keiner
Eingeführt in Version
-
Siehe auch
FEM Tutorium

Gleichungslöser
Alle

Beschreibung

Für eine Finite-Elemente-Analyse muss die Geometrie in ein FEM-Netz diskretisiert werden. Dieser Befehl verwendet die Software Gmsh (die auf dem System installiert sein muss) zum Erstellen des Netzes.

Abhängig vom Betriebssystem und dem Installationspaket kann Gmsh in FreeCAD enthalten sein oder auch nicht. Für weitere Informationen siehe FEM Installation.

Anwendung

  1. Die Form auswählen, die analysiert werden soll. Bei der Volumen-FEM muss es sich um einen Festkörper oder Compsolid (zusammengesetzten Festkörper) handeln. Ein Compsolid ist erforderlich, wenn dein Teil aus mehreren Materialien besteht. (Ein Compsolid kann mit dem Befehl BoolescheFragmente erstellt werden).
  2. Es gibt mehrere Möglichkeiten, den Befehl aufzurufen:
  3. Wahlweise minimale und maximale Elementgröße anpassen (Die vorgegebene Einstellung erstellt oft zu grobe Netze). Es kann auch die dimensionale Art (1D, 2D, 3D) eingestellt (wobei die Voreinstellung From shape meistens passt) sowie die Ordnung des Elements geändert werden.
  4. Die Schaltfläche Anwenden anklicken und warten, bis die Erstellung des Netzes abgeschlossen ist. eingeführt in 1.0: Wahlweise die Schaltfläche Abbrechen drücken, um das Vernetzen abzubrechen.
  5. Die Schaltfläche OK drücken, um die Aufgabe abschließen. Jetzt sollte sich ein neues FEMMeshGmsh-Objekt im aktiven Analysebehälter befinden. Oder die Schaltfläche Abbrechen drücken, um die Änderung oder die Erstellung des Netzobjekts abzubrechen.

Nachdem das Netz erstellt wurde, können seine Eigenschaften im Eigenschafteneditor angepasst werden. Nach dem Ändern einer Eigenschaft, muss der Gmsh-Dialog erneut geöffnet und die Schaltfläche Anwenden gedrückt werden (der Dialog kann geöffnet bleiben, während weitere Eigenschaften geändert werden).

Die Schaltfläche Gmsh-Version erlaubt es, Details zur aktuell benutzten Gmsh-Binary zu überprüfen.

Eigenschaften

  • DatenAlgorithm2D: The algorithm to create 2D meshes. The different algorithms are explained here. For Delaunay, see Delaunay triangulation.
  • DatenAlgorithm3D: The algorithm to create 3D meshes. The different algorithms are explained here.
  • DatenCharacteristic Length Max: The maximal size of the mesh elements. If set to 0.0, the size will be set automatically. This property can also be changed in the Gmsh dialog in the field Max element size.
  • DatenCharacteristic Length Min: The minimal size of the mesh elements. If set to 0.0, the size will be set automatically. This property can also be changed in the Gmsh dialog in the field Min element size.
  • DatenCoherence Mesh:
    • true (default); duplicate mesh nodes will be removed
    • false
  • DatenElement Dimension: The dimension of the mesh elements. This property can also be changed in the Gmsh dialog in the field Mesh element dimension.
    • From Shape (default); the dimension will be determined from the dimension of the object that is meshed
    • 1D
    • 2D
    • 3D
  • DatenElement Order: The mesh element order. This property can also be changed in the Gmsh dialog in the field Mesh order. introduced in 0.20
    • 1st
    • 2nd (default)
      Note: If you use the solver Elmer you may get this error: ERROR:: GetEdgeBasis: Can't handle but linear elements, sorry. This means the solver equation cannot handle 2nd order meshes. Use either 1st order meshes then, or check the FreeCAD Wiki page for the solver equation for possible options to handle 2nd order meshes.
  • DatenGeometry Tolerance: The geometrical tolerance for the mesh to match the object edges. The default 0.0 means that Gmsh's default of 1e-8 is used.
  • DatenGroups Of Nodes: All nodes and not only the elements will be saved for each physical mesh group. Physical groups are collections of mesh entities (points, curves, surfaces and volumes). They and are identified by their dimension and by a tag. For example a mesh of the same object region is internally tagged the same. So all surfaces of this region will form one physical group.
  • DatenHigh Order Optimize: If and how meshes with DatenElement Order = 2nd are optimized. The optimization is done by a deformation of the element borders.
    introduced in 0.20 Gmsh supports different optimization algorithms. Elastic is an algorithm in which the mesh elements are treated as a collection of deformable viscoelastic solids. 1st order meshes cannot be optimized because their element borders are linear an cannot be deformed.
  • DatenMesh Size From Curvature introduced in 0.20: The number of mesh elements per 2π times the radius of the curvature. To get a finer mesh at small corners or holes, this value can be increased for better results

Effect of Mesh Size From Curvature'; left: set to 12, right: deactivated

  • DatenOptimize Netgen: Whether the mesh will be optimized using the 3D mesh generator Netgen to improve the quality of tetrahedral elements. Note: since Netgen can only create tetrahedral elements, this option is ignored for meshes whose DatenElement Dimension is not 3D.
  • DatenOptimize Std Optimizes the mesh to improve the quality of tetrahedral elements.
  • DatenRecombination Algorithm introduced in 0.20: The algorithm used for DatenRecombine 3D All and also for DatenRecombine All. For more info, see section Element Recombination and for technical details see the Gmsh documentation.
  • DatenRecombine 3D All introduced in 0.20: Applies a recombination 3D-algorithm to all volumes. Tetrahedra will be recombined into prisms, hexahedra or pyramids if possible.
  • DatenRecombine All: Applies a recombination algorithm to all surfaces. Triangles will be recombined into quadrangles when possible.
  • DatenSecond Order Linear: Option if second order nodes (if DatenElement Order set to 2nd) and/or mesh refinement points are created by linear interpolation.
    • true; linear interpolation is used
    • false (default); curvilinear interpolation is used
  • DatenSubdivision Algorithm introduced in 1.0: allows the creation of quadrilateral and hexahedral elements by subdivision
    • None; doesn't use any subdivision algorithm
    • All Quadrangles; creates quadrilateral elements by subdivision
    • All Hexahedra; creates hexahedral elements by subdivision
    • Barycentric; creates triangular elements by barycentric subdivision

Hinweise

Nichtpositive Jacobi-Matrizen

Wenn ein Vermaschungs-Fehler über Nichtpositive Jacobi-Matrizen auftritt, können die folgenden Lösungsstrategien angewendet werden:

Netz-Wachstum

An Kanten und kleinen geometrischen Elementen muss das Netz kleiner sein als in Bereichen ohne Kanten. Daher nimmt die Größe der Netzelemente mit zunehmender Entfernung von den Kanten zu. Die Wachstumsstrategie von Gmsh besteht darin, zwischen Kanten unterschiedlicher Größe zu wachsen. Das Wachstum schlägt also fehl, wenn ein Bereich Kanten gleicher Größe aufweist, wie beispielsweise bei diesem Rohr:

Fehlgeschlagenes Netz-Wachstum, da der zylindrische Bereich von den gleichen Kanten umgeben ist

Um ein sinnvolles Netzwachstum zu ermöglichen, muss in diesem Fall dem Bereich eine Kante hinzugefügt werden. Im Beispiel wäre dies ein Kreis in der Mitte des Zylinders. Der Kreis wird als Teil eines Verbunds BoolescheBestandteile (um ein CompSolid zu bilden), siehe die Projekt-Datei für das Beispiel.

Sinnvolles Netzwachstum aufgrund der zusätzlichen Kante in der Mitte des zylindrischen Bereichs

Element-Rekombination

Elemente können auf zwei Arten neu kombiniert werden: auf der Oberfläche von Objekten, sodass Dreiecke nach Möglichkeit zu Vierecken neu kombiniert werden, und im Volumen von Objekten, sodass Tetraeder nach Möglichkeit zu Prismen, Hexaedern oder Pyramiden neu kombiniert werden. Betrachtet man die Geometrie, wird deutlich, dass das Ergebnis der Neukombination stark von der Geometrie des Körpers abhängt und dass die Neukombination eines 3D-Körpers nur an der Oberfläche meist zu seltsamen Ergebnissen führt.

Zur Veranschaulichung sehe man sich das Bild unten an. Ein Quaderkörper wird mit den Standardeinstellungen (Tetraeder, Netz der 2. Ordnung) vernetzt. Dies ist das Teilbild oben links. Das Bild oben rechts zeigt das Ergebnis, wenn zusätzlich die Elemente nur an der Oberfläche des Körpers neu kombiniert werden. Das Ergebnis ist schlecht, da die geänderten Oberflächenelemente nicht zu den unveränderten Volumenelementen passen. Daher ist Daten-EigenschaftRecombine All allein in der Regel nur für 2D-Netze sinnvoll.
Wenn wir jetzt auch Daten-EigenschaftRecombine 3D All verwenden, ist das Ergebnis besser, siehe das untere linke Teilbild. Allerdings zeigt das Ergebnis keinen großen Unterschied zu dem Netz ohne Rekombinationen. Da unser Körper ein Quader ist, ist es daher sinnvoll, einen Rekombinationsalgorithmus zu verwenden, der ebenfalls versucht, Quader zu erzeugen. Dieses Ergebnis ist im unteren rechten Teilbild zu sehen.

Der einfache Rekombinationsalgorithmus lässt einige Dreiecke im Netz zurück, falls die Rekombination zu schlecht geformten Vierecken führt. Man verwendet in solchen Fällen einen Full-Quad-Rekombinationsalgorithmus, der automatisch ein gröberes Netz erstellt, gefolgt von der Rekombination, Glättung und Unterteilung. Siehe Foren-Thema

Auswirkung der Rekombination von Netzelementen.
Oben links: Standardnetz.
Oben rechts: Rekombination nur an der Oberfläche unter Verwendung des einfachen Algorithmus.
Unten links: Rekombination an der Oberfläche und im Volumen unter Verwendung des einfachen Algorithmus.
Unten rechts: Rekombination an der Oberfläche und im Volumen unter Verwendung des einfachen full-quad Algorithmus